package com.atguigu.gmall.item.api;

import com.atguigu.gmall.feign.product.SkuFeignClient;
import com.atguigu.gmall.model.product.BaseCategoryView;
import com.atguigu.gmall.model.product.SkuImage;
import com.atguigu.gmall.model.product.SkuInfo;
import com.atguigu.gmall.model.product.SpuSaleAttr;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.math.BigDecimal;
import java.util.List;

@RestController
@RequestMapping("/inner/sku")
public class ItemApiController {

    @Autowired
    SkuFeignClient skuFeignClient;

    /**
     * // TODO 1.sku的基本信息(名字,id,xxx,价格,sku_描述) skuInfo
     *
     *         // TODO 2.sku图片信息
     *
     *         // TODO 3.sku分类信息
     *
     *         // TODO 4.sku销售属性信息
     *
     *         // TODO 5.sku价格信息[专门再查一遍]
     */


    @GetMapping("/info/{skuId}")
    public SkuInfo getSkuInfoById(@PathVariable("skuId") Long skuId){
        SkuInfo skuInfo = skuFeignClient.getSkuInfo(skuId);
        return skuInfo;
    }

    @GetMapping("/images/{skuId}")
    public List<SkuImage> getSkuImages(@PathVariable("skuId") Long skuId){
        List<SkuImage> skuImages = skuFeignClient.getSkuImages(skuId);
        return skuImages;
    }

    @GetMapping("/category/{skuId}")
    public BaseCategoryView getSkuCategoryView(@PathVariable("skuId")Long skuId){
        return skuFeignClient.getSkuCategoryView(skuId);
    }

    @GetMapping("/saleAttrs/{skuId}/{spuId}")
    List<SpuSaleAttr> getSpuSaleAttrs(@PathVariable("skuId")Long skuId,
                                      @PathVariable("spuId")Long spuId){
        return skuFeignClient.getSpuSaleAttrs(skuId,spuId);
    }

    @GetMapping("/price/{skuId}")
    BigDecimal getSpuPrice(@PathVariable("skuId")Long skuId){
        return skuFeignClient.getSpuPrice(skuId);
    }
}
